Post

Replies

Boosts

Views

Activity

Can I add App Clip to the App
Can I add App Clip to the App if its minimum supported version lower than iOS 14? Lets suppose I have an App that has minimum support version as iOS 13. If I make App Clip target that supports iOS 14, will I be able to upload it to the AppStore? And will it work in scenarios like if some user has iOS 14 and has the Main App installed and he tries to open the App Clip from the banner from some website?
0
0
535
Feb ’22
Multiple instances of VNSequenceRequestHandler
Hi everyone! I'm implementing a multithreaded approach on text recognition through Vision's VNSequenceRequestHandler and VNRecognizeTextRequest. I've created multiple threads (let's use 3 for example) and created 3 instances of VNSequenceRequestHandler for each thread. My AVSession sends me sample buffers (60 per second) and I'm trying to handle them one by one in 3 different threads. These threads constantly trying to consume sample buffers from my temporary sample buffer queue (1 to 3 sample buffers are in queue, they got deleted after handling). Sample buffers are not shared between these threads - one sample buffer is only for one thread's VNSequenceRequestHandler. For each performRequests operation I create a new VNRecognizeTextRequest. By this I was trying to increase count of sample buffers handled per second. But what I found out is no matter how many threads I've created (1 or 3), the speed is always about 10 fps (iPhone 13 Pro). When I use 1 thread, only one instance of VNSequenceRequestHandler is created and used. In this case the [requestHandler performRequests:@[request] onCMSampleBuffer:sampleBuffer error:&error] takes about 100-150ms. When I use 3 threads, each instance of VNSequenceRequestHandler takes up to 600ms to handle the request with [requestHandler performRequests:@[request] onCMSampleBuffer:sampleBuffer error:&error]. When I have 2 threads, the average time is about 300-400ms. Does it mean that the VNSequenceRequestHandler inside of a Vision framework share some buffer's or request's queue so they're not able to work separately? Or maybe some single core of a GPU is used for detection? I saw in the debug session window that the VNSequenceRequestHandler creates separate concurrent dispatch queues for handling the requests (for 2 instances 2 queues created), which in my opinion should not block the resources that much causing requests execution time grow 2 times. Any ideas what causing the problem?
1
0
984
Jun ’23
Can I add App Clip to the App
Can I add App Clip to the App if its minimum supported version lower than iOS 14? Lets suppose I have an App that has minimum support version as iOS 13. If I make App Clip target that supports iOS 14, will I be able to upload it to the AppStore? And will it work in scenarios like if some user has iOS 14 and has the Main App installed and he tries to open the App Clip from the banner from some website?
Replies
0
Boosts
0
Views
535
Activity
Feb ’22
Multiple instances of VNSequenceRequestHandler
Hi everyone! I'm implementing a multithreaded approach on text recognition through Vision's VNSequenceRequestHandler and VNRecognizeTextRequest. I've created multiple threads (let's use 3 for example) and created 3 instances of VNSequenceRequestHandler for each thread. My AVSession sends me sample buffers (60 per second) and I'm trying to handle them one by one in 3 different threads. These threads constantly trying to consume sample buffers from my temporary sample buffer queue (1 to 3 sample buffers are in queue, they got deleted after handling). Sample buffers are not shared between these threads - one sample buffer is only for one thread's VNSequenceRequestHandler. For each performRequests operation I create a new VNRecognizeTextRequest. By this I was trying to increase count of sample buffers handled per second. But what I found out is no matter how many threads I've created (1 or 3), the speed is always about 10 fps (iPhone 13 Pro). When I use 1 thread, only one instance of VNSequenceRequestHandler is created and used. In this case the [requestHandler performRequests:@[request] onCMSampleBuffer:sampleBuffer error:&error] takes about 100-150ms. When I use 3 threads, each instance of VNSequenceRequestHandler takes up to 600ms to handle the request with [requestHandler performRequests:@[request] onCMSampleBuffer:sampleBuffer error:&error]. When I have 2 threads, the average time is about 300-400ms. Does it mean that the VNSequenceRequestHandler inside of a Vision framework share some buffer's or request's queue so they're not able to work separately? Or maybe some single core of a GPU is used for detection? I saw in the debug session window that the VNSequenceRequestHandler creates separate concurrent dispatch queues for handling the requests (for 2 instances 2 queues created), which in my opinion should not block the resources that much causing requests execution time grow 2 times. Any ideas what causing the problem?
Replies
1
Boosts
0
Views
984
Activity
Jun ’23